package com.jl.util;

import java.lang.reflect.Method;

public class ClassUtil {

    /**
     * 执行无参数方法
     *
     * @param beanType   查找方法的指定类
     * @param target     执行方法的目标类
     * @param methodName 方法名
     * @param <T>
     * @return 方法执行结果
     */
    @SuppressWarnings("unchecked")
    public static <T> T invokeNoParameterMethod(Class<?> beanType, Object target, String methodName) {
        try {
            Method returnValueHandlersMethod = beanType.getDeclaredMethod(methodName);
            returnValueHandlersMethod.setAccessible(true);
            return (T) returnValueHandlersMethod.invoke(target);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

}
